Python embedded¶

Interaction between iris and python¶

Every “%” in ObjectScript are automatically replace by “_”

SQL request with embedded python¶

In [9]:
import iris
import pandas as pd

query = "SELECT location, CAST(total_cases AS int) as total_cases FROM Data.Covid19"
data_frame = iris.sql.exec(query).dataframe()

print(data_frame)
              location  total_cases
0          Afghanistan       171931
1               Africa     11154168
2              Albania       269904
3              Algeria       263936
4              Andorra        37589
..                 ...          ...
226  Wallis and Futuna          454
227              World    423070601
228              Yemen        11731
229             Zambia       311016
230           Zimbabwe       233224

[231 rows x 2 columns]

How to display a simple widget with data visualization¶

Offline mod (for Jupyter)¶

In [59]:
import plotly.offline as pyo
import plotly.graph_objs as go

pyo.init_notebook_mode()

fig = go.Bar(
    x=df.head(10)['location'],
    y=df.head(10)['total_cases'],
    text=df.head(10)['total_cases'],
    textposition='outside',
    texttemplate='%{text:.3s}'
)

pyo.iplot([fig], filename = 'bar')

Working method (for page development)¶

In [60]:
import iris
import plotly.express as px

query = "SELECT location, CAST(total_cases AS int) as total_cases FROM Data.Covid19 WHERE continent != ''"
df = iris.sql.exec(query).dataframe().sort_values(by=['total_cases'], ascending=False)

fig = px.bar(df.head(10), x="location", y="total_cases", barmode="group", text_auto='.3s')
fig.update_traces(textfont_size=12, textangle=0, textposition="outside", cliponaxis=False)
fig.update_layout(height=330)
fig.show()